Skip to content

fix compatibility issue with NumPy>=2.4.0 - #3

Open
fishilico wants to merge 1 commit into
arisada:mainfrom
fishilico:fix-nsec3hash-numpy-2.4.0-compat
Open

fix compatibility issue with NumPy>=2.4.0#3
fishilico wants to merge 1 commit into
arisada:mainfrom
fishilico:fix-nsec3hash-numpy-2.4.0-compat

Conversation

@fishilico

Copy link
Copy Markdown

Hello,

When using recent NumPy, nsec3hash.py fails with:

                sol = int(self.solutions[i])
                      ~~~^^^^^^^^^^^^^^^^^^^
TypeError: only 0-dimensional arrays can be converted to Python scalars

This comes from a change from NumPy 2.4.0, documented in https://numpy.org/devdocs/release/2.4.0-notes.html#raise-typeerror-on-attempt-to-convert-array-with-ndim-0-to-scalar

Raise TypeError on attempt to convert array with ndim > 0 to scalar

Conversion of an array with ndim > 0 to a scalar was deprecated in
NumPy 1.25. Now, attempting to do so raises TypeError. Ensure you
extract a single element from your array before performing this
operation.

As self.solutions is a NumPy array with shape (self.max_nholes, 1), adding [0] fixes this issue. Add [0] in other places as well, to make the code more robust to future NumPy changes.

When using recent NumPy, `nsec3hash.py` fails with:

                    sol = int(self.solutions[i])
                          ~~~^^^^^^^^^^^^^^^^^^^
    TypeError: only 0-dimensional arrays can be converted to Python scalars

This comes from a change from NumPy 2.4.0, documented in
https://numpy.org/devdocs/release/2.4.0-notes.html#raise-typeerror-on-attempt-to-convert-array-with-ndim-0-to-scalar

> Raise `TypeError` on attempt to convert array with `ndim > 0` to scalar
>
> Conversion of an array with `ndim > 0` to a scalar was deprecated in
> NumPy 1.25. Now, attempting to do so raises `TypeError`. Ensure you
> extract a single element from your array before performing this
> operation.

As `self.solutions` is a NumPy array with shape `(self.max_nholes, 1)`,
adding `[0]` fixes this issue. Add `[0]` in other places as well, to
make the code more robust to future NumPy changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant